100 REM ADAPTED FOR THE AMIGA BY GARY D. WALBORN 11/3/85
120 DIM L$(25),A(4,25),M$(3,36),B(3,36)
130 scnclr:GOSUB 1770:GOSUB 1130:B=1
140 scnclr:B(1,5)=1+RND(23):B(1,6)=2+RND(22):B(1,7)=2+RND(22):PRINT"LOCATION: ";L$(B):C=0:PRINT"YOU SEE: ";:FOR A=1 TO 36
150 IF B(1,A)=B AND B(3,A)<>0 THEN PRINT TAB(10);M$(2,A):C=1
160 NEXT A:IF C=0 THEN PRINT "NOTHING OF INTEREST"
170 C=0:PRINT "DIRECTIONS: ";:IF A(1,B)<>0 THEN PRINT "NOR ";:C=1180 IF A(2,B)<>0 THEN PRINT "SOU ";:C=1
190 IF A(3,B)<>0 THEN PRINT "EAS ";:C=1
200 IF A(4,B)<>0 THEN PRINT "WES";:C=1
210 IF C=0 THEN PRINT "? ? ?";
220 PRINT:PRINT STRING$(30,"-")
230 INPUT"WHAT NOW . .";M$:PRINT" ";
240 IF M$="N" THEN M$="GO NOR" ELSE IF M$="S" THEN M$="GO SOU"
250 IF M$="E" THEN M$="GO EAS" ELSE IF M$="W" THEN M$="GO WES"
260 IF M$="LOO" OR M$="LOOK" THEN 140
270 IF LEN(M$)<3 THEN PRINT "?? WHAT ??":GOTO 230
280 N$=LEFT$(M$,3):FOR A = (LEN(M$)-2) TO 1 STEP -1:IF MID$(M$,A,1)=" " THEN 290 ELSE NEXT A
290 O$=MID$(M$,A+1,3): IF N$="INV" THEN 370 ELSE IF N$="SCO" THEN 1090
300 IF N$="HEL" THEN 410 ELSE IF N$="GO " OR N$="WAL" THEN 470
310 IF N$="LOO" OR N$="EXA" THEN 530 ELSE IF N$="GET" OR N$="TAK" THEN 590
320 IF N$="DRO" OR N$="LEA" OR N$="PUT" THEN 740 ELSE IF N$="PRY" THEN 800
330 IF N$="INS" THEN 780 ELSE IF N$="KIC" THEN 820
340 IF N$="PUS" OR N$="PUL" OR N$="MOV" THEN 850 ELSE IF N$="OPE" OR N$="UNL" THEN 940
350 IF N$="KIL" THEN 1050 ELSE IF N$="BRE" THEN 1060 ELSE IF N$="REA" THEN 1080
360 PRINT"I DON'T UNDERSTAND THE VERB !":GOTO 230
370 C=0:FOR A=1 TO 36
380 IF B(1,A)=25 THEN PRINT TAB(2);M$(2,A):C=1
390 NEXT A:IF C=0 THEN PRINT"YOU HAVE NOTHING !"
400 GOTO 230
410 IF B=1 THEN PRINT "INVENTORY AT START / SCORE AT":PRINT" THE END OF THE GAME":GOTO 230
420 IF B=7 OR B=13 OR B=18 OR B=23 OR B=24 THEN PRINT"EXAMINE THINGS . .":GOTO 230
430 IF B=4 THEN PRINT"YOU DESERVE A 'BREAK' TODAY !":GOTO 230
440 IF B=2 OR B=11 THEN PRINT"MOVE THINGS !":GOTO 230
450 IF B=5 THEN PRINT "?? EKAT ??":GOTO 230
460 PRINT "I'M AS CONFUSED AS YOU !":GOTO 230
470 IF O$="DOO" AND B=1 AND B(1,2)=1 THEN B=3:GOTO 140
480 IF O$="NOR" AND A(1,B)<>0 THEN B=A(1,B):GOTO 140
490 IF O$="SOU" AND A(2,B)<>0 THEN B=A(2,B):GOTO 140
500 IF O$="EAS" AND A(3,B)<>0 THEN B=A(3,B):GOTO 140
510 IF O$="WES" AND A(4,B)<>0 THEN B=A(4,B):GOTO 140
520 PRINT"YOU'RE UNABLE TO . . .":GOTO 230
530 FOR A=1 TO 36:IF O$=M$(1,A) THEN 550 ELSE NEXT A
540 PRINT"I DON'T UNDERSTAND THE NOUN !":GOTO 230
550 IF B(1,A)<>B AND B(1,A)<>25 THEN PRINT "IT ISN'T AROUND . .":GOTO 230
560 IF B(3,A)=0 THEN PRINT "YOU CAN'T . . YET!":GOTO 230
570 IF M$(3,A)="Z" THEN PRINT "YOU SEE NOTHING OF INTEREST!":GOTO 230
580 PRINT M$(3,A):GOTO 230
590 FOR A=1 TO 36:IF O$=M$(1,A) THEN 610 ELSE NEXT A
600 GOTO 540
610 IF B(1,A)=25 THEN PRINT "YOU ALREADY HAVE IT !":GOTO 230
620 IF B(1,A)<>B THEN PRINT "THAT ITEM ISN'T AROUND !":GOTO 230
630 IF B(2,A)=0 THEN PRINT "YOU'RE UNABLE TO . . .":GOTO 230
640 C=0:FOR D=1 TO 36:IF B(1,D)=25 THEN C=C+1
650 NEXT D:IF C>4 THEN PRINT "YOU CAN'T CARRY ANY MORE !":GOTO 230
660 IF A=21 THEN M$(3,31)="Z"
670 IF A=25 THEN M$(3,24)="Z"
680 IF A=23 THEN M$(3,22)="Z"
690 IF A=15 THEN M$(2,35)="**THE DIAMOND**"
700 IF A=35 AND LEFT$(M$(2,35),2)="**" THEN SCNCLR:PRINT "A TRAP DOOR OPENS . . .":PRINT"YOU FIND YOURSELF FALLING . . .":PRINT"FALLING . . .":GOTO 1010
710 PRINT "O.K. . . YOU'VE GOT IT !":B(1,A)=25:B(3,A)=1
720 IF A=16 AND B(3,17)=0 THEN B(3,17)=1:PRINT "A TOKEN WAS UNDER THE RUG . ."
730 GOTO 230
740 FOR A=1 TO 36:IF O$=M$(1,A) THEN 760 ELSE NEXT A
750 GOTO 540760 IF B(1,A)<>25 THEN PRINT "YOU DON'T HAVE THAT ITEM !":GOTO 230
770 PRINT"O.K. . . YOU'VE DROPPED IT !":B(1,A)=B:GOTO 230
780 IF B=24 AND O$="KEY" AND B(1,15)=25 THEN PRINT"O.K.":B(1,15)=24:M$(2,35)=">>THE DIAMOND<<":GOTO 230
790 PRINT"SORRY, THAT'S NOT POSSIBLE !":GOTO 230
800 IF O$="DOO" AND B=1 AND B(1,1)=1 THEN B(1,1)=0:M$(1,1)="!":B(1,2)=1:PRINT"THE DOOR POPS OPEN . .":GOTO 230
810 PRINT"THAT'S NOT POSSIBLE . . SORRY!":GOTO 230
820 IF B<>12 OR O$<>"DES" THEN PRINT "NOTHING HAPPENS . .":GOTO 230
830 PRINT" ALL OF A SUDDEN . .":PRINT" YOU FIND YOURSELF FALLING . .":PRINT" THRU A SECRET ENTRANCE . ."
840 FOR A=1 TO 1500:NEXT A:B=14:GOTO 140
850 IF B<>11 THEN 870 ELSE IF O$="FOU" AND B(1,31)=0 THEN PRINT "A SMALL COMPARTMENT OPENS ! !":B(1,31)=11:B(1,21)=11:GOTO 230
860 PRINT"NOTHING HAPPENS !":GOTO 230
870 IF B=2 AND O$="CAB" AND B(1,12)=0 THEN PRINT "YOU SEE A SAFE !":B(1,12)=2:GOTO 230
880 IF B=18 AND O$="LEV" THEN SCNCLR:PRINT"THERE IS AN EXPLOSION . . .":GOTO 1010
890 IF B=23 AND O$="BUT" THEN SCNCLR:PRINT"THE PASSAGE BEGINS TO FLOOD . .":GOTO 1010
900 FOR A=1 TO 36:IF O$=M$(1,A) THEN 920 ELSE NEXT A
910 GOTO 540
920 IF B(1,A)<>B AND B(1,A)<>25 THEN PRINT"THAT ITEM ISN'T AROUND":GOTO 230
930 PRINT"O.K. . . NOTHING HAPPENS !":GOTO 230
940 IF B<>2 OR O$<>"SAF" OR B(1,12)<>2 THEN 1040
950 PRINT" TO OPEN THE SAFE YOU MUST":PRINT" USE AND ENTER A THREE NUMBER"
960 PRINT" COMBINATION. ENTER IT WITH":PRINT" SLASHES BETWEEN THE THREE #'S"
970 PRINT" YOU WISH TO USE. FOR EXAMPLE:":PRINT" 27/14/82 . . . . IF YOU THINK"
980 PRINT" THE COMBINATION IS 27, 14, 82."
990 INPUT" YOUR ATTEMPT . .";M$: IF M$="13/82/30" THEN 1020
1000 SCNCLR:PRINT"THERE IS AN EXPLOSION . .":PRINT:PRINT"THAT WAS THE WRONG COMBINATION!"
1010 PRINT:PRINT "Y O U A R E D E A D !":PRINT:INPUT"HIT ENTER TO RESTART";M$
1020 PRINT" THE SAFE POPS OPEN . . .":PRINT" TWO ITEMS FALL TO THE FLOOR !"